草庐IT

c++ - std::string 和 UTF-8 编码的 unicode

全部标签

javascript - 只是好奇如何继承 String 对象。 (原型(prototype))

我知道这是不受欢迎的,我只是在探索这个想法,就我的生活而言,似乎无法按照我想要的方式完成这项工作。这个例子应该解释所有:String.prototype.MyNS=function(){}String.prototype.MyNS.fooify=function(){returnthis+'foo!';}vartheString='Kung';alert(theString.MyNS.fooify());当然,这只是将函数定义附加到“foo”……添加this()是行不通的。我知道我在那里失去了背景,但无法弄清楚如何让原件开火并给我我想要的东西。 最佳答案

Javascript 正则表达式 + Unicode 变音符号组合字符`

我想匹配非洲约鲁巴语“ẹ́”中的这个字符。通常这是通过在点变音符号下组合'é'和'\u0323'来实现的。我发现:'é\u0323'.match(/[é]\u0323/)worksbut'ẹ́'.match(/[é]\u0323/)doesnotwork.我不只是想匹配e。我想匹配所有组合。现在,我的解决方案涉及枚举所有组合。像这样:/[ÁÀĀÉÈĒẸE̩Ẹ́É̩Ẹ̀È̩Ẹ̄Ē̩ÍÌĪÓÒŌỌO̩Ọ́Ó̩Ọ̀Ò̩Ọ̄Ō̩ÚÙŪṢS̩áàāéèēẹe̩ẹ́é̩ẹ̀è̩ẹ̄ē̩íìīóòōọo̩ọ́ó̩ọ̀ò̩ọ̄ō̩úùūṣs̩]/难道没有更短更好的方法来做到这一点,或者在unicode

javascript - 使用 encodeURIComponent 检测 JavasScript 字符串是否已经编码

我正在努力将一些代码与第三方集成,有时他们传递给我正在编写的Javascript函数的字符串参数将使用encodeURIComponent进行编码,有时则不会.是否有明确的方法来检查它是否使用encodeURIComponent编码如果没有,我再做编码 最佳答案 你可以解码它并查看字符串是否仍然相同decodeURIComponent(string)===string 关于javascript-使用encodeURIComponent检测JavasScript字符串是否已经编码,我们在S

javascript - 集成 Moment JS 库时出现编码问题

我最近将MomentJS库集成到我的应用程序中,但遇到了一个奇怪的问题。我必须使用的浏览器是IE9。当我第一次使用zh-cn语言环境启动应用程序时,我看到一些垃圾字符代替了日期和时间。当我注销并再次登录时,字符会正确加载。我检查屏幕上的编码,发现两次都是UTF-8。问题不一致。我不知所措,因为我应该如何调试或找到这个问题的根源。任何关于我应该检查什么的指示都将不胜感激。 最佳答案 用于集成MomentJS库,而不是用这个 关于javascript-集成MomentJS库时出现编码问题,我

javascript - 谷歌图表 : is it possible to use Strings for the x axis?

所以我试着摆弄我的图表,发现整数/float/日期在x轴上工作得很好,但是当你输入一个字符串时,它就爆炸了。我正在尝试绘制a:Word/Count图表,但不幸的是我似乎无法将字符串放在x轴上。这在GoogleCharts中是允许的,还是严格意义上的int/floats/dates? 最佳答案 如下使用vAxis和hAxis属性google.visualization.ColumnChart(document.getElementById('visualization')).draw(data,{title:"YearlyCoffee

javascript - new String() 的行为不像对象那样的数组

varnice=newString("ASH");nice;//String{0:"A",1:"S",2:"H",length:3,[[PrimitiveValue]]:"ASH"}varreverseNice=Array.prototype.reverse.call(nice);reverseNice.toString();//"ASH"而我期望reverseNice是“HSA”。 最佳答案 不能改nice,试试看;nice[0]='f';nice[0];//"A"如果您想使用Array方法,请先将其转换为真正的Arrayvarr

javascript - Node 编码和解码 utf-16 缓冲区

我正在处理需要与C++tcp/udp套接字通信的javascript/nodejs应用程序。好像我从旧的C++客户端那里得到了一个utf16缓冲区。我现在没有找到将其转换为可读字符串的解决方案,而另一个方向似乎也是同样的问题。这两个方向有没有简单的方法?亲切的问候 最佳答案 如果您有一个UTF-16编码的缓冲区,您可以像这样将它转换为UTF-8字符串:letstring=buffer.toString('utf16le');要从流中读取这些,最简单的方法是在最后使用转换为字符串:letchunks=[];stream.on('dat

JavaScript element.classList.add ("fa fa-hand-rock-o") 错误 : "String contains an invalid character"

我正在尝试添加一个类使用:document.getElementById("sp1").classList.add("fafa-hand-rock-o");但是显示错误:Stringcontainsaninvalidcharacter 最佳答案 fafa-hand-rock-o不能是单个类,因为类名不能有空格。这里我假设您正在尝试添加两个不同的类。使用classList.add()添加多个类时,将所有类指定为单独的逗号分隔字符串,如:.add("fa","fa-hand-rock-o")代码示例:document.getElemen

javascript - 没有编码为 UTF-8 或 base64 的 websocket 二进制数据

我正在尝试使用二进制模式的websockets将二进制数据从用Python编写的服务器传输到客户端浏览器(运行javascript)。我已经以文本模式实现了这种通信,但现在我希望通过以二进制模式进行通信来提高性能。我见过的所有示例(例如this,如果有人深入了解使用Tornado的matplotlib/webagg的源代码)都声称它们使用的是二进制模式,但实际上它们似乎对原始二进制数据进行了编码在传输之前的某个时刻转换为UTF-8(或base64)。在我看来,这样做并不是真正的二进制传输,因为它会增加30%到50%的开销。所以我的问题是,是否必须将二进制数据编码为utf-8或base6

javascript - 如何在 JavaScript 中将 PCM 数据编码为 MP3?

我正在使用Recorder.js从麦克风录制音频。该库可以将PCM数据编码为WAV,我可以使用成功播放它。.但是,生成的WAV数据太大(约38MB用于5分钟的录音)。我尝试使用Speech-to-Server提供的libmp3lame.js.在recorderWorker.js,我正在导入Lame脚本:importScripts("libmp3lame.js");然后,我更改了exportWAV()函数将PCM缓冲区编码为MP3而不是WAV。functionexportWAV(type){varbufferL=mergeBuffers(recBuffersL,recLength);va